<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>单体模式</title>
</head>
<body>
	<h1>单体模式（单例模式或单一模式）</h1>
</body>
<script type="text/javascript">
    // 基本格式
    // 可以用来划分命名空间，减少全局变量的数量。
    // 使用单体模式可以使代码组织的更为一致，使代码容易阅读和维护。
    // 可以被实例化，且实例化一次。

    var Singleton = function(name){
        this.name = name;
        this.instance = null;
    };
    Singleton.prototype.getName = function(){
        return this.name;
    }
    // 获取实例对象
    function getInstance(name) {
        if(!this.instance) {
            this.instance = new Singleton(name);
        }
        return this.instance;
    }
    // 测试单体模式的实例
    var a = getInstance("aa");
    var b = getInstance("bb");

    console.log(a.getName())//aa
    console.log(b.getName())//aa
    

</script>
</html>